// KUKU 安全服务层 - 模块化架构实现
// 仅使用safe Rust，提供高性能、安全的系统服务

#![forbid(unsafe_code)]

use log::info;

// 核心模块
pub mod core;
pub use core::*;

// 服务模块
pub mod services;
pub use services::*;

// 创建空的模块文件以解决编译错误
pub mod drivers {
    // 驱动模块占位符
}

pub mod graphics {
    // 图形模块占位符
}

pub mod network {
    // 网络模块占位符
}

pub mod filesystem {
    // 文件系统模块占位符
}

pub mod ipc {
    // IPC模块占位符
}

pub mod shell {
    // Shell模块占位符
}

pub mod utils {
    // 工具模块占位符
}

// 重新导出常用类型
pub use safe_ffi::core::types::{CapabilityId, ResourceType};

// 主服务管理器（向后兼容）
pub struct ServiceManager {
    #[allow(dead_code)]
    service_manager: services::KukuServiceManager,
}

impl ServiceManager {
    pub fn new() -> Result<Self, String> {
        let config = core::config::SystemConfig::default();
        Self::new_with_config(&config)
    }
    
    pub fn new_with_config(_config: &core::config::SystemConfig) -> Result<Self, String> {
        let service_manager = services::KukuServiceManager::new();
        
        Ok(ServiceManager {
            service_manager,
        })
    }

    pub fn start_all_services(&self) -> Result<(), String> {
        info!("Starting KUKU services...");
        // 这里可以添加服务启动逻辑
        Ok(())
    }
}

// 向后兼容的重新导出
pub use core::config::{SystemConfig, ConfigManager, ConfigFormat};
pub use core::CapabilityWrapper;